home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / examples / guard / guard.C < prev    next >
C/C++ Source or Header  |  1990-12-04  |  400b  |  39 lines

  1. //$A,B$
  2. #include "Object.h"
  3.  
  4. extern void ETInit();
  5.  
  6. class A: public Object {
  7. public:
  8.     MetaDef(A);
  9.  
  10.     A()
  11.       {}
  12.     void bar()
  13.       { cerr << "bar\n"; }
  14. };
  15.  
  16. MetaImpl0(A);
  17.  
  18. class B: public A {
  19. public:
  20.     MetaDef(B);
  21.  
  22.     B()
  23.       {}
  24.     void foo()
  25.       { cerr << "foo\n"; }
  26. };
  27.  
  28. MetaImpl0(B);
  29.  
  30. main()
  31. {
  32.     ETInit();
  33.     Object *o= new A;
  34.  
  35.     Guard(o, A)->bar();
  36.     Guard(o, B)->foo();
  37. }
  38.  
  39.